package com.knav.inject.RecyleViewInject;


import androidx.annotation.LayoutRes;

import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

/**
 * <doc>
 * <p>
 * <p>
 * 给 recycleview 适配器注入 viewHolder  使用 该注解 适配器类的第一个静态字段必须 时View 类型的
 *
 * <code>
 *
 * @ViewHolder( layoutId = R.layout.list_item,
 * ParentId = R.layout.activity_main
 * )
 * public class TestListAdapter extends RecyclerView.Adapter<InjectViewHolder> {
 * <p>
 * public static View view;
 * @FindItem(itemId = R.id.name)
 * public static TextView name;
 * @FindItem(itemId = R.id.image)
 * public static ImageView image;
 * @FindItem(itemId = R.id.imge1)
 * public static ImageView image1;
 * @FindItem(itemId = R.id.desc)
 * public static TextView desc;
 * @FindItem(itemId = R.id.root )
 * public static View root;
 * }
 * </code>
 * <p>
 * <p>
 * 通过 和 {@FindItem} 注解结合 进行 适配器控件的绑定。 简化原生recycleview 适配器的开发。
 *
 * </doc>
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
public @interface ViewHolder {

    @LayoutRes
    int layoutId() default 0;

    @LayoutRes
    int ParentId() default 0;


}
